Перечень материалов необходимых для передачи лаборатории для подготовки ЕРВУ к сертификации
| № п.п. | Этап | Наименование работы | Участники работ | Комментарий | Примеры команд |
| 1 | п. 3.2 Подготовка исследовательского стенда (ПОД.2) | Предоставить ИЛ: • доступ к испытательному стенду для каждой заявленной в ТУ среды функционирования Изделия | Заявитель / разработчик | Также передать тестовые учетные записи (для каждой роли) | |
| 2 | Предоставить в ИЛ: • алгоритм расчёта контрольных сумм (КС) дистрибутива (вставить в ФО) • файлы с КС дистрибутива • алгоритм расчёта КС неизменяемых файлов (вставить в ФО) • файл(ы) с КС неизменяемых файлов • файл(ы) с КС исходных текстов | Заявитель / разработчик | Для расчёта КС использовать «ФИКС-UNIX 1.0» | ||
| 3 | В
присутствии ИЛ подготовить вторую (лабораторную) сборку Изделия,
необходимую для анализа системы автоматизации сборки Изделия и
соответствия комплекту исходных текстов, из которых собиралась
контрольная (т.е. зафиксированная в документации) сборка Предоставить в ИЛ: • логи сборки Изделия • .pcap-файлы от сниффера • комментарии для обоснования сетевых обращений к ресурсам в сети Интернет в ходе сборки Изделия | Заявитель / разработчик, ИЛ | Демонстрация сборки Изделия возможна через ВКС Сбор трафика в ходе сборки Изделия с использованием tcpdump | sudo tcpdump -i any -tttt -vvv -nn -S -w tcpdump_build.pcap | |
| 4 | Выполнить сравнение второй (лабораторной) и контрольной сборок Предоставить в ИЛ: • результаты сравнения сборок • комментарии для обоснования выявленных различий | Заявитель / разработчик, ИЛ | Сравнение сборок дистрибутива с помощью https://github.com/lvc/pkgdiff, https://github.com/lvc/japi-compliance-checker или использовать альтернативный способ | pkgdiff -d DIR1/ DIR2/ и japi-compliance-checker OLD.jar NEW.jar | |
| 5 | В
ходе установки Изделия и после первого запуска Изделия должны
регистрироваться события, связанные с взаимодействием Изделия с внешними
сетевыми ресурсами - мониторинг сетевого трафика Предоставить в ИЛ: • .pcap-файлы от сниффера • комментарии для обоснования сетевых обращений к ресурсам в сети Интернет в ходе установки Изделия | Заявитель / разработчик | Сбор трафика в ходе установки Изделия и тестового запроса к Изделию с использованием tcpdump | sudo tcpdump -i any -tttt -vvv -nn -S -w tcpdump_install.pcap | |
| 6 | Антивирусное сканирование дистрибутива Изделия Предоставить в ИЛ: • результаты антивирусного контроля дистрибутива с использованием не менее двух сертифицированных средств антивирусной защиты от различных разработчиков | Заявитель / разработчик | Антивирусное сканирование дистрибутива с использованием Dr.Web Enterprise Security Suite и программное изделие Kaspersky Endpoint Security для Linux | drweb-ctl scan * и kesl-control --scan-file * | |
| 7 | Антивирусное сканирование всех установленных файлов Изделия Предоставить в ИЛ: • результаты антивирусного контроля всех установленных файлов Изделия с использованием не менее двух сертифицированных средств антивирусной защиты от различных разработчиков | Заявитель / разработчик | Антивирусное сканирование установленных файлов Изделия с использованием Dr.Web Enterprise Security Suite и программное изделие Kaspersky Endpoint Security для Linux | drweb-ctl scan * и kesl-control --scan-file * | |
| 8 | п. 4.1.1 Анализ состава модулей, конфигураций и интерфейсов Изделия (КАО.1) | Автоматизированный анализ сетевых интерфейсов Изделия с использованием средств анализа (контроля) защищенности (сканеров безопасности) | ИЛ | Выполняет ИЛ с использованием различных сканеров безопасности | |
| 9 | Автоматизированный
анализ настроек Изделия, направленный на выявление уязвимостей
конфигурационных файлов Изделия (конфигурации Изделия) Предоставить в ИЛ: • результаты анализа безопасности контейнеров Изделия | Заявитель / разработчик, ИЛ | Анализ безопасности контейнеров Изделия выполнить с помощью https://github.com/aquasecurity/kube-bench/ или использовать альтернативный способ | См. инструкции https://github.com/aquasecurity/kube-bench/?tab=readme-ov-file#quick-start | |
| 10 | Результаты
сканирования интерфейсов получения входных данных, результаты выявления
потенциально опасных функциональных возможностей, архитектурных
уязвимостей и уязвимостей конфигурации, результаты извлечения информации
из исполняемого кода программы Предоставить в ИЛ: • перечень файлов, включенных в Java-архивы (jar-файлы), входящие в состав дистрибутива Изделия | Заявитель / разработчик, ИЛ | Способ получения перечня - вывод команды unzip или альтернативный способ | unzip -l FILE.jar > FILE.jar_files.txt | |
| 11 | Результаты
автоматизированного анализа исходного кода Изделия в части комментариев
разработчика к исходному коду, направленного на выявление потенциально
опасных функциональных возможностей Предоставить в ИЛ: • комментарии разработчика к исходному коду Изделия | Заявитель / разработчик | Формирование перечня комментариев разработчика к исходному коду с использованием https://github.com/takashi-ishio/CommentLister или использовать альтернативный способ | java -classpath CommentLister-0.1.0.jar jp.naist.se.commentlister.FileAnalyzer /path/to/src/ >> comments.json | |
| 12 | Результаты
автоматизированного анализа исходного кода Изделия, направленного на
выявление в исходных кодах открыто присутствующей чувствительной
информации и «секретов» (пароли, ключи и т.п.) Предоставить в ИЛ: • результаты поиска открыто присутствующей чувствительной информации и «секретов» в исходных кодах Изделия | Заявитель / разработчик | Выявление в исходных кодах открыто присутствующей чувствительной информации и «секретов» с использованием https://github.com/gitleaks/gitleaks или использовать альтернативный способ | ./gitleaks dir /src/ --report-format=json --report-path="gitleaks_report_dir.json" и ./gitleaks detect -s /src/ --report-format=json --report-path="gitleaks_report_detect.json" | |
| 13 | п. 4.1.2 Анализ безопасности объекта оценки на основе открытых источников (КАО.2) | Автоматизированный поиск актуальных общеизвестных уязвимостей в заимствованных библиотеках Предоставить в ИЛ: • перечень устранённых уязвимостей в текущей версии (информация необходима для документа Извещение об изменении) • результаты поиска актуальных общеизвестных уязвимостей в заимствованных библиотеках • результаты поиска актуальных общеизвестных уязвимостей в используемых контейнерах • результаты поиска актуальных общеизвестных уязвимостей в сборочной среде Изделия • обоснование неактуальности выявленных уязвимостей | Заявитель / разработчик, ИЛ | Автоматизированный поиск общеизвестных уязвимостей в заимствованных библиотеках и в используемых контейнерах с использованием https://github.com/aquasecurity/trivy или использовать альтернативный способ | trivy fs --format template --template "@/usr/bin/html.tpl" -o report.html /path/to/src и trivy image --format template --template "@/usr/bin/html.tpl" -o report.html {image} |
| 14 | Ручной поиск актуальных общеизвестных уязвимостей в заимствованных компонентах на сайтах | ИЛ | В качестве ресурсов поиска актуальных общеизвестных уязвимостей (CVE) ИЛ могут быть использованы https://bdu.fstec.ru/vul и https://nvd.nist.gov/vuln | ||
| 15 | Тестирование на проникновение | ИЛ | Выполняет ИЛ с использованием различных инструментальных средств для тестирования на проникновение | ||
| 16 | п. 4.2.1 Статический анализ исходного кода объекта оценки (САО.1) | Выполнить статический анализ: - для модулей, составляющих поверхность атаки, - для модулей, реализующих функции безопасности - для интерпретаторов (OpenJDK, иные) Предоставить в ИЛ: • Результаты анализа языков программирования, с использованием которых разработано Изделие • Результаты анализа использования языка ассемблера • Выгруженный отчёт статического анализа с разметкой Critical и High срабатываний • План устранения срабатываний (для срабатываний среднего и низкого уровня) • Скриншоты+логи запуска статического анализа • Информация о настройке (конфигурировании) используемого статического анализатора кода и способе запуска используемого статического анализатора кода. | Заявитель / разработчик | Для получения перечня используемых языков программирования использовать утилиту https://github.com/github-linguist/linguist или использовать альтернативный способ Для анализа использования языка ассемблера выполнить команды: find </src/> -name "*.s" -or -name "*.S" -or -name "*.asm" и команду: grep -winr asm </src/> 2>/dev/null Для статического анализа ранее было выбрано программное обеспечение Solar appScreener версии 3 (сертификат № 4825 от 03.07.2024 г., действителен до 03.07.2029 г.). Также допустимо использовать инструментальные средства: Svace+Svacer, PVS-Studio+Svacer | cd </src/> github-linguist find </src/> -name "*.s" -or -name "*.S" -or -name "*.asm" и grep -winr asm </src/> 2>/dev/null |
| 17 | п. 4.3.1 Тестирование модулей объекта оценки (ДАО.1) | Выполнить модульное тестирование: - для модулей, составляющих поверхность атаки Предоставить в ИЛ: • Скриншоты+логи запуска тестов • Информация об опциях конфигурирования и запуска инструментов для модульного тестирования, санитайзерах, и инструментах для подсчёта покрытия • Отчёт о покрытии кода при модульном тестировании | Заявитель / разработчик | Для модульного тестирования ранее были выбраны инструментальные средства: JUnit, Gradle Для сбора покрытия при модульном тестировании ранее было выбрано инструментальное средство: JaCoCo | |
| 18 | п. 4.3.2 Фаззинг-тестирование объекта оценки (ДАО.2) | Выполнить фаззинг-тестирование: - для модулей, составляющих поверхность атаки, - для интерпретаторов (OpenJDK, иные) Предоставить в ИЛ: • Скриншоты+логи запуска фаззинг-тестирования • Информация об опциях конфигурирования и запуска инструментов для фаззинг-тестирования (фаззеров), санитайзерах и инструментах для подсчёта покрытия • Тестовые наборы входных данных – семплы/корпус (в том числе словари и модели), использованные для запуска фаззинг-тестирования • Отчёт о покрытии кода при фаззинг-тестировании | Заявитель / разработчик | Для фаззинг-тестирования ранее были выбраны инструментальные средства: Jazzer и AFL++ Для сбора покрытия при фаззинг-тестировании ранее были выбраны инструментальные средства: JaCoCo и gcov+lcov+genhtml Информация об используемых санитайзерах ранее не предоставлялась. При фаззинге С/С++ кода допустимо использовать AddressSanitizer (ASAN) или иные санитайзеры | |
| 19 | п. 4.4.1 Экспертиза участков исходного / восстановленного кода Изделия (ЭКО.1) | Контроль
отсутствия фактов использования сторонних программ (программных
модулей), не входящих в состав Изделия, при реализации Изделием функций
безопасности Изделия Предоставить в ИЛ: • Список бинарных файлов, которые не собираются из исходных текстов Изделия • Перечень сторонних компонентов ПО в составе Изделия / используемых Изделием (SBOM-файл) • Результаты инвентаризации образов контейнеров и программного обеспечения, входящего в состав образов контейнеров (https:// fstec.ru/dokumenty/vse-dokumenty/informatsionnye-i-analiticheskie- materialy/informatsionnoe-soobshchenie-fstek-rossii-ot-13-yanvarya-2025- g-n-240-24-38) | Заявитель / разработчик | Предоставить результат выполнения команды: { find /path/to/src/ -type f ! -size 0 -exec grep -IL . "{}" \; 2>/dev/null; find /path/to/src/ -type f ! -size 0 | perl -lne 'print if -B' 2>/dev/null; } | sort -u > exec_report.txt Предоставить SBOM-файл, сгенерированный утилитой https://github.com/CycloneDX/cdxgen (или аналогичной). Указанный файл должен проходить валидацию инструментом https://gitlab.community.ispras.ru/sdl-tools/sbom-checker Предоставить файлы, согласно Приложениям к обозначенному Информационному сообщению. Json-файл должен проходить валидацию инструментом https://gitlab.community.ispras.ru/sdl-tools/sbom-checker | {
find /path/to/src/ -type f ! -size 0 -exec grep -IL . "{}" \;
2>/dev/null; find /path/to/src/ -type f ! -size 0 | perl -lne 'print
if -B' 2>/dev/null; } | sort -u > exec_report.txt cd /path/to/src/ ~/cdxgen -o sbom.json |
Добавить комментарий